home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-11-11 | 10.1 KB | 570 lines | [TEXT/MPS ] |
- ;
- ; File: OSUtils.a
- ;
- ; Copyright: © 1984-1994 by Apple Computer, Inc.
- ; All rights reserved.
- ;
- ; Version: Universal Interfaces 2.0a3 ETO #16, MPW prerelease. Friday, November 11, 1994.
- ;
- ; Bugs?: If you find a problem with this file, send the file and version
- ; information (from above) and the problem description to:
- ;
- ; Internet: apple.bugs@applelink.apple.com
- ; AppleLink: APPLE.BUGS
- ;
- ;
-
- IF &TYPE('__OSUTILS__') = 'UNDEFINED' THEN
- __OSUTILS__ SET 1
-
-
- IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
- include 'Types.a'
- ENDIF
- ; include 'ConditionalMacros.a' ;
-
- IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
- include 'MixedMode.a'
- ENDIF
-
- IF &TYPE('__MEMORY__') = 'UNDEFINED' THEN
- include 'Memory.a'
- ENDIF
-
- useFree EQU 0
- useATalk EQU 1
- useAsync EQU 2
- useExtClk EQU 3 ;Externally clocked
- useMIDI EQU 4
- ; Environs Equates
- curSysEnvVers EQU 2 ;Updated to equal latest SysEnvirons version
- ; Machine Types
- envMac EQU -1
- envXL EQU -2
- envMachUnknown EQU 0
- env512KE EQU 1
- envMacPlus EQU 2
- envSE EQU 3
- envMacII EQU 4
- envMacIIx EQU 5
- envMacIIcx EQU 6
- envSE30 EQU 7
- envPortable EQU 8
- envMacIIci EQU 9
- envMacIIfx EQU 11
- ; CPU types
- envCPUUnknown EQU 0
-
- env68000 EQU 1
- env68010 EQU 2
- env68020 EQU 3
- env68030 EQU 4
- env68040 EQU 5
- ; Keyboard types
- envUnknownKbd EQU 0
- envMacKbd EQU 1
- envMacAndPad EQU 2
- envMacPlusKbd EQU 3
- envAExtendKbd EQU 4
- envStandADBKbd EQU 5
- envPrtblADBKbd EQU 6
- envPrtblISOKbd EQU 7
- envStdISOADBKbd EQU 8
- envExtISOADBKbd EQU 9
- false32b EQU 0 ;24 bit addressing error
- true32b EQU 1 ;32 bit addressing error
- ; result types for RelString Call
- sortsBefore EQU -1 ;first string < second string
- sortsEqual EQU 0 ;first string = second string
- sortsAfter EQU 1 ;first string > second string
-
- ; Toggle results
- toggleUndefined EQU 0
- toggleOK EQU 1
- toggleBadField EQU 2
- toggleBadDelta EQU 3
- toggleBadChar EQU 4
- toggleUnknown EQU 5
- toggleBadNum EQU 6
- toggleOutOfRange EQU 7 ;synonym for toggleErr3
- toggleErr3 EQU 7
- toggleErr4 EQU 8
- toggleErr5 EQU 9
- ; Date equates
- smallDateBit EQU 31 ;Restrict valid date/time to range of Time global
- togChar12HourBit EQU 30 ;If toggling hour by char, accept hours 1..12 only
- togCharZCycleBit EQU 29 ;Modifier for togChar12HourBit: accept hours 0..11 only
- togDelta12HourBit EQU 28 ;If toggling hour up/down, restrict to 12-hour range (am/pm)
- genCdevRangeBit EQU 27 ;Restrict date/time to range used by genl CDEV
- validDateFields EQU -1
- maxDateField EQU 10
- eraMask EQU $0001
- yearMask EQU $0002
- monthMask EQU $0004
- dayMask EQU $0008
- hourMask EQU $0010
- minuteMask EQU $0020
- secondMask EQU $0040
- dayOfWeekMask EQU $0080
- dayOfYearMask EQU $0100
- weekOfYearMask EQU $0200
- pmMask EQU $0400
- dateStdMask EQU $007F ;default for ValidDate flags and ToggleDate TogglePB.togFlags
-
- eraField EQU 0
- yearField EQU 1
- monthField EQU 2
- dayField EQU 3
- hourField EQU 4
- minuteField EQU 5
- secondField EQU 6
- dayOfWeekField EQU 7
- dayOfYearField EQU 8
- weekOfYearField EQU 9
- pmField EQU 10
- res1Field EQU 11
- res2Field EQU 12
- res3Field EQU 13
-
- dummyType EQU 0
- vType EQU 1
- ioQType EQU 2
- drvQType EQU 3
- evType EQU 4
- fsQType EQU 5
- sIQType EQU 6
- dtQType EQU 7
- nmType EQU 8
-
- OSTrap EQU 0
- ToolTrap EQU 1
-
- SysParmType RECORD 0
- valid ds.b 1
- aTalkA ds.b 1
- aTalkB ds.b 1
- config ds.b 1
- portA ds.w 1
- portB ds.w 1
- alarm ds.l 1
- font ds.w 1
- kbdPrint ds.w 1
- volClik ds.w 1
- misc ds.w 1
- sizeof EQU 20
- ENDR
-
- QElem RECORD 0
- qLink ds.l 1
- qType ds.w 1
- qData ds.w 1
- sizeof EQU 8
- ENDR
-
- QHdr RECORD 0
- qFlags ds.w 1
- qHead ds.l 1
- qTail ds.l 1
- sizeof EQU 10
- ENDR
-
- DeferredTask RECORD 0
- qLink ds.l 1
- qType ds.w 1
- dtFlags ds.w 1
- dtAddr ds.l 1
- dtParam ds.l 1
- dtReserved ds.l 1
- sizeof EQU 20
- ENDR
-
- SysEnvRec RECORD 0
- environsVersion ds.w 1
- machineType ds.w 1
- systemVersion ds.w 1
- processor ds.w 1
- hasFPU ds.b 1
- hasColorQD ds.b 1
- keyBoardType ds.w 1
- atDrvrVersNum ds.w 1
- sysVRefNum ds.w 1
- sizeof EQU 16
- ENDR
-
- MachineLocation RECORD 0
- latitude ds.l 1
- longitude ds.l 1
- VariantLevel0Begin EQU *
- dlsDelta ds.b 1 ;signed byte; daylight savings delta
- ORG VariantLevel0Begin
- gmtDelta ds.l 1 ;must mask - see documentation
- sizeof EQU 12
- ENDR
-
- DateTimeRec RECORD 0
- year ds.w 1
- month ds.w 1
- day ds.w 1
- hour ds.w 1
- minute ds.w 1
- second ds.w 1
- dayOfWeek ds.w 1
- sizeof EQU 14
- ENDR
-
- LongDateCvt RECORD 0
- VariantLevel0Begin EQU *
- c ds wide
- ORG VariantLevel0Begin
- lHigh ds.l 1
- lLow ds.l 1
-
- sizeof EQU 8
- ENDR
-
- LongDateRec RECORD 0
- VariantLevel0Begin EQU *
- era ds.w 1
- year ds.w 1
- month ds.w 1
- day ds.w 1
- hour ds.w 1
- minute ds.w 1
- second ds.w 1
- dayOfWeek ds.w 1
- dayOfYear ds.w 1
- weekOfYear ds.w 1
- pm ds.w 1
- res1 ds.w 1
- res2 ds.w 1
- res3 ds.w 1
-
- ORG VariantLevel0Begin
- list ds.w 14 ;Index by LongDateField!
- ORG VariantLevel0Begin
- eraAlt ds.w 1
- oldDate ds DateTimeRec
-
- sizeof EQU 28
- ENDR
-
- TogglePB RECORD 0
- togFlags ds.l 1 ;caller normally sets low word to dateStdMask=$7F
- amChars ds.l 1 ;from 'itl0', but uppercased
- pmChars ds.l 1 ;from 'itl0', but uppercased
- reserved ds.l 4
- sizeof EQU 28
- ENDR
-
- IF GENERATING68K THEN
- Macro
- _LongDateToSeconds
- dc.w $2F3C
- dc.w $8008
- dc.w $FFF2
- dc.w $A8B5
- EndM
- ELSE
- IMPORT LongDateToSeconds
- ENDIF
-
- IF GENERATING68K THEN
- Macro
- _LongSecondsToDate
- dc.w $2F3C
- dc.w $8008
- dc.w $FFF0
- dc.w $A8B5
- EndM
- ELSE
- IMPORT LongSecondsToDate
- ENDIF
-
- IF GENERATING68K THEN
- Macro
- _ToggleDate
- dc.w $2F3C
- dc.w $820E
- dc.w $FFEE
- dc.w $A8B5
- EndM
- ELSE
- IMPORT ToggleDate
- ENDIF
-
- IF GENERATING68K THEN
- Macro
- _ValidDate
- dc.w $2F3C
- dc.w $820C
- dc.w $FFE4
- dc.w $A8B5
- EndM
- ELSE
- IMPORT ValidDate
- ENDIF
-
- IF GENERATING68K THEN
- Macro
- _IsMetric
- move.w #$0004,-(sp)
- dc.w $A9ED
- EndM
- ELSE
- IMPORT IsMetric
- ENDIF
-
- IF GENERATING68K THEN
- Macro
- _GetSysPPtr
- dc.w $2EBC
- dc.w $0000
- dc.w $01F8
- EndM
- ELSE
- IMPORT GetSysPPtr
- ENDIF
-
- IF GENERATING68K THEN
- _ReadDateTime: OPWORD $A039
- ELSE
- IMPORT ReadDateTime
- ENDIF
-
- IF GENERATING68K THEN
- Macro
- _GetDateTime
- dc.w $20B8
- dc.w $020C
- EndM
- ELSE
- IMPORT GetDateTime
- ENDIF
-
- IF GENERATING68K THEN
- _SetDateTime: OPWORD $A03A
- ELSE
- IMPORT SetDateTime
- ENDIF
-
- IF GENERATING68K THEN
- Macro
- _SetTime
- dc.w $A9C7
- dc.w $A03A
- EndM
- ELSE
- IMPORT SetTime
- ENDIF
-
- IF GENERATING68K THEN
- Macro
- _GetTime
- dc.w $2038
- dc.w $020C
- dc.w $A9C6
- EndM
- ELSE
- IMPORT GetTime
- ENDIF
-
- IF GENERATING68K THEN
- _SecondsToDate: OPWORD $A9C6
- ELSE
- IMPORT SecondsToDate
- ENDIF
-
- IF GENERATING68K THEN
- _SysBeep: OPWORD $A9C8
- ELSE
- IMPORT SysBeep
- ENDIF
-
- IF GENERATING68K THEN
- _DTInstall: OPWORD $A082
- ELSE
- IMPORT DTInstall
- ENDIF
-
- IF GENERATING68K THEN
- Macro
- GetMMUMode
- move.B $0CB2,(sp)
- EndM
- ELSE
- IMPORT GetMMUMode
- ENDIF
-
- IF GENERATING68K THEN
- IF GENERATING68K THEN
- Macro
- _SwapMMUMode
- dc.w $1010
- dc.w $A05D
- dc.w $1080
- EndM
- ELSE
- IMPORT SwapMMUMode
- ENDIF
-
- ENDIF
- IF SystemSixOrLater THEN
- IF GENERATING68K THEN
- _SysEnvirons: OPWORD $A090
- ELSE
- IMPORT SysEnvirons
- ENDIF
-
- ELSE
- ENDIF
- IF GENERATING68K THEN
- Macro
- _Delay
- dc.w $A03B
- dc.w $2280
- EndM
- ELSE
- IMPORT Delay
- ENDIF
-
- ;
- ; GetTrapAddress and SetTrapAddress are obsolete and should not
- ; be used. Always use NGetTrapAddress and NSetTrapAddress instead.
- ; The old routines will not be supported for PowerPC apps.
- ;
- IF OLDROUTINENAMES ** ¬ GENERATINGCFM THEN
- IF GENERATING68K THEN
- _GetTrapAddress: OPWORD $A146
- ELSE
- IMPORT GetTrapAddress
- ENDIF
-
- IF GENERATING68K THEN
- _SetTrapAddress: OPWORD $A047
- ELSE
- IMPORT SetTrapAddress
- ENDIF
-
- ENDIF
- IF GENERATING68K THEN
- _GetOSTrapAddress: OPWORD $A346
- ELSE
- IMPORT GetOSTrapAddress
- ENDIF
-
- IF GENERATING68K THEN
- _SetOSTrapAddress: OPWORD $A247
- ELSE
- IMPORT SetOSTrapAddress
- ENDIF
-
- IF GENERATING68K THEN
- _GetToolTrapAddress: OPWORD $A746
- ELSE
- IMPORT GetToolTrapAddress
- ENDIF
-
- IF GENERATING68K THEN
- _SetToolTrapAddress: OPWORD $A647
- ELSE
- IMPORT SetToolTrapAddress
- ENDIF
-
- IF GENERATING68K THEN
- _GetToolboxTrapAddress: OPWORD $A746
- ELSE
- IMPORT GetToolboxTrapAddress
- ENDIF
-
- IF GENERATING68K THEN
- _SetToolboxTrapAddress: OPWORD $A647
- ELSE
- IMPORT SetToolboxTrapAddress
- ENDIF
-
- IF GENERATING68K THEN
- _Enqueue: OPWORD $A96F
- ELSE
- IMPORT Enqueue
- ENDIF
-
- IF GENERATING68K THEN
- _Dequeue: OPWORD $A96E
- ELSE
- IMPORT Dequeue
- ENDIF
-
- IF ¬ SystemSevenOrLater THEN
- ENDIF
- IF GENERATING68K THEN
- _InitUtil: OPWORD $A03F
- ELSE
- IMPORT InitUtil
- ENDIF
-
- IF GENERATING68K THEN
- IF GENERATING68K THEN
- Macro
- _FlushInstructionCache
- moveq #1,d0
- dc.w $A098
- EndM
- ELSE
- IMPORT FlushInstructionCache
- ENDIF
-
- IF GENERATING68K THEN
- Macro
- _FlushDataCache
- moveq #3,d0
- dc.w $A098
- EndM
- ELSE
- IMPORT FlushDataCache
- ENDIF
-
- IF GENERATING68K THEN
- _FlushCodeCache: OPWORD $A0BD
- ELSE
- IMPORT FlushCodeCache
- ENDIF
-
- IF GENERATING68K THEN
- Macro
- _FlushCodeCacheRange
- moveq #9,d0
- dc.w $A098
- EndM
- ELSE
- IMPORT FlushCodeCacheRange
- ENDIF
-
- ENDIF
- IF GENERATING68K THEN
- Macro
- _ReadLocation
- dc.w $203C
- dc.w $000C
- dc.w $00E4
- dc.w $A051
- EndM
- ELSE
- IMPORT ReadLocation
- ENDIF
-
- IF GENERATING68K THEN
- Macro
- _WriteLocation
- dc.w $203C
- dc.w $000C
- dc.w $00E4
- dc.w $A052
- EndM
- ELSE
- IMPORT WriteLocation
- ENDIF
-
- IF OLDROUTINENAMES THEN
- ENDIF
- ENDIF ; __OSUTILS__
-